Network interface cards (NICs), also known as network adapters, network interface controllers, or local area network (LAN) adapters, are hardware devices that handle interfaces to computer networks and allow a computing device, such as a network-capable device, to access the respective networks. The NIC has a read-only memory chip that stores a unique number, the media access control (MAC) address. The MAC address identifies the device uniquely on the network (e.g., LAN). The NIC is both layer 1 (physical layer) and Layer 2 (data link layer) device, since it provides physical access to a networking medium and provides a low-level addressing system, typically using the MAC address. The NICs allow users of the computing devices to connect over wired or wireless networks.
In data-center environments, system administrators struggle to keep network interface card (NIC) names consistent. This is especially problematic when replacing failed components or adding additional systems to an existing infrastructure. For example, adding a NIC to a system may change all of the names of the NICs unexpectedly. Some conventional network interface card naming techniques use the MAC address or a bus address (e.g., a PCI bus address) to name the network interface cards. For example, a network interface card, having a MAC address of 00:02:BC:00:00:01, could be originally assigned a logical interface name, for example, eth0. However, when the network interface card is changed (i.e., replaced by another network interface card) to the MAC address 00:02:BC:00:00:02, the logical interface name becomes indeterminate. Similarly, a network interface card, having a PCI address 00:01:02, could be originally assigned a logical interface name (e.g., eth0). However, when the network interface card is moved to a different slot having a different PCI bus address, or another cards is added to a slot that changes the network interface card's PCI bus address (e.g., PCI address 02:02:02), the logical interface name becomes indeterminate. Since the conventional naming techniques assign logical interface names based on hardware addresses or bus addresses, these conventional techniques cannot reliably and consistently assign logical interface names when changes are made to the network interface cards. Furthermore, these conventional techniques require manual involvement to reconfigure the network configuration when changes are made to ensure naming consistency of the network interface cards of a system.